{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# java复习1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## java 关键字\n",
    "下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "| 类别                 | 关键字       | 说明                           |\n",
    "| :------------------- | :------------ | :----------------------------- |\n",
    "| 访问控制             | private      | 私有的                         |\n",
    "|                      | protected    | 受保护的                       |\n",
    "|                      | public       | 公共的                         |\n",
    "|                      | default      | 默认                           |\n",
    "| 类、方法和变量修饰符 | abstract     | 声明抽象                       |\n",
    "|                      | class        | 类                             |\n",
    "|                      | extends      | 扩充,继承                      |\n",
    "|                      | final        | 最终值,不可改变的              |\n",
    "|                      | implements   | 实现（接口）                   |\n",
    "|                      | interface    | 接口                           |\n",
    "|                      | native       | 本地，原生方法（非 Java 实现） |\n",
    "|                      | new          | 新,创建                        |\n",
    "|                      | static       | 静态                           |\n",
    "|                      | strictfp     | 严格,精准                      |\n",
    "|                      | synchronized | 线程,同步                      |\n",
    "|                      | transient    | 短暂                           |\n",
    "|                      | volatile     | 易失                           |\n",
    "| 程序控制语句         | break        | 跳出循环                       |\n",
    "|                      | case         | 定义一个值以供 switch 选择     |\n",
    "|                      | continue     | 继续                           |\n",
    "|                      | default      | 默认                           |\n",
    "|                      | do           | 运行                           |\n",
    "|                      | else         | 否则                           |\n",
    "|                      | for          | 循环                           |\n",
    "|                      | if           | 如果                           |\n",
    "|                      | instanceof   | 实例                           |\n",
    "|                      | return       | 返回                           |\n",
    "|                      | switch       | 根据值选择执行                 |\n",
    "|                      | while        | 循环                           |\n",
    "| 错误处理             | assert       | 断言表达式是否为真             |\n",
    "|                      | catch        | 捕捉异常                       |\n",
    "|                      | finally      | 有没有异常都执行               |\n",
    "|                      | throw        | 抛出一个异常对象               |\n",
    "|                      | throws       | 声明一个异常可能被抛出         |\n",
    "|                      | try          | 捕获异常                       |\n",
    "| 包相关               | import       | 引入                           |\n",
    "|                      | package      | 包                             |\n",
    "| 基本类型             | boolean      | 布尔型                         |\n",
    "|                      | byte         | 字节型                         |\n",
    "|                      | char         | 字符型                         |\n",
    "|                      | double       | 双精度浮点                     |\n",
    "|                      | float        | 单精度浮点                     |\n",
    "|                      | int          | 整型                           |\n",
    "|                      | long         | 长整型                         |\n",
    "|                      | short        | 短整型                         |\n",
    "| 变量引用             | super        | 父类,超类                      |\n",
    "|                      | this         | 本类                           |\n",
    "|                      | void         | 无返回值                       |\n",
    "| 保留关键字           | goto         | 是关键字，但不能使用           |\n",
    "| 预留表示以后可能用到 | const        | 是关键字，但不能使用           |\n",
    "|                      | null         | 空                             |"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Java 源程序与编译型运行区别\n",
    "\n",
    "如下图所示：\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-25T08:04+0000",
     "start_time": "2020-10-25T08:04:41.438Z"
    }
   },
   "source": [
    "## 数据类型&范围&默认值\n",
    "文档：[java的八种基本数据类型.note](http://note.youdao.com/noteshare?id=4ecb2e2be032471a5118419886a757ca&sub=241B4D00E17C45BCB660FCDFF98ECC39)\n",
    "\n",
    "### byte 取值范围\n",
    "\n",
    "Java 中，byte 占一个字节，取值范围为何是 `-128~127？（-2^7~2^7-1）`\n",
    "\n",
    "计算机是用二进制来表示数据的，一个字节也就是 8 个比特位，其中最高位表示符号位（0 正 1 负）。\n",
    "\n",
    "故 byte 的取值范围为 `1000 0000` 到 `0111 1111`。\n",
    "\n",
    "在 Java 中，是采用补码来表示数据的。\n",
    "\n",
    "正数的补码和原码相同，负数的补码是在原码的基础上各位取反然后加 1。\n",
    "\n",
    "1000 000 是补码，减一然后按位取反得到其原码 1000 0000。（减一得 0111 1111，再按位取反得 1000 0000）\n",
    "\n",
    "因为是负数，所以最小的 byte 值为 `-2^7=-128`。\n",
    "\n",
    "0111 1111 的十进制为 2^7-1=127（等比序列求和）。\n",
    "\n",
    "byte 是一个字节，共有 2^8=256 种可能性，也就是 -128~127。\n",
    "\n",
    "其他基本数据类型同理：\n",
    "\n",
    "char 没有负值，占两个字节，所以取值范围是 `0~2^16-1（65535）`。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 规范\n",
    "\n",
    "### 一、命名规范：\n",
    "\n",
    "1. 由字母、数字、下划线、$组成，不能以数字开头。\n",
    "2. 大小写敏感。\n",
    "3. 不得使用java中的关键字和保留字。\n",
    "关键字：都是小写的，jdk1.2多了strictfp(经准浮点型)，关键字 jdk1.4多了assert(断言)关键字，jdk1.5多了enum(枚举) 关键字。\n",
    "\n",
    "true、false、null 严格说不应该算关键字，应称其为保留字更合适。\n",
    "\n",
    "习惯：\n",
    "\n",
    "1. 标识符要符合语义信息。\n",
    "2. 包名所有字母小写。\n",
    "3. 类名每个单词首字母大写，其它小写，如：TarenaStudent。\n",
    "4. 变量和方法：第一个单词小写，从第二个单词开始首字母大写，如：tarenaStudent。\n",
    "5. 常量：所有字母大写，每个单词之间用 _ 连接。\n",
    "\n",
    "### 二、注释规范\n",
    "\n",
    "1. 类注释\n",
    "\n",
    "在每个类前面必须加上类注释，注释模板如下：\n",
    "```java\n",
    "/**\n",
    "* Copyright (C), 2006-2010, ChengDu Lovo info. Co., Ltd.\n",
    "* FileName: Test.java\n",
    "* 类的详细说明\n",
    "*\n",
    "* @author 类创建者姓名\n",
    "* @Date    创建日期\n",
    "* @version 1.00\n",
    "*/\n",
    "```\n",
    "2. 属性注释\n",
    "\n",
    "在每个属性前面必须加上属性注释，注释模板如下：\n",
    "```java\n",
    "/** 提示信息 */\n",
    "\n",
    "private String strMsg = null;\n",
    "```\n",
    "3. 方法注释\n",
    "\n",
    "在每个方法前面必须加上方法注释，注释模板如下：\n",
    "```java\n",
    "/**\n",
    "* 类方法的详细使用说明\n",
    "*\n",
    "* @param 参数1 参数1的使用说明\n",
    "* @return 返回结果的说明\n",
    "* @throws 异常类型.错误代码 注明从此类方法中抛出异常的说明\n",
    "*/\n",
    "```\n",
    "4. 构造方法注释\n",
    "\n",
    "在每个构造方法前面必须加上注释，注释模板如下：\n",
    "```java\n",
    "/**\n",
    "* 构造方法的详细使用说明\n",
    "*\n",
    "* @param 参数1 参数1的使用说明\n",
    "* @throws 异常类型.错误代码 注明从此类方法中抛出异常的说明\n",
    "*/\n",
    "```\n",
    "5. 方法内部注释\n",
    "\n",
    "在方法内部使用单行或者多行注释，该注释根据实际情况添加。\n",
    "\n",
    "如：\n",
    "```java\n",
    "//背景颜色\n",
    "Color bgColor = Color.RED\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据类型的溢出\n",
    "\n",
    "在 Java 中，只有数字类型才能参与运算。但是每个数据类型都有他的取值范围。\n",
    "\n",
    "例如 byte 数据类型，它的取值范围为 `-128 - 127` 。\n",
    "\n",
    "当我们使用 `byte b = 128`; 时，肯定会报错。\n",
    "\n",
    "但是使用 `byte b = 127+1`; 并不会报错。\n",
    "\n",
    "而且运算的结果为 `-128`。\n",
    "\n",
    "我们可以向数据类型的取值范围看作是一个圆，每多一个数据向前移动一个，当数据达到最大值时，我们再加 1，可以就会变成最小值，这就是数据的溢出。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## throw 和 throws 的区别：\n",
    "\n",
    "throws 用来声明一个方法可能产生的所有异常，不做任何处理而是将异常往上传，谁调用我我就抛给谁。\n",
    "\n",
    "throw 则是用来抛出一个具体的异常类型。\n",
    "\n",
    "throws 在方法后边声明异常，其实就是自己不想对异常做出任何的处理，告诉别人自己可能出现的异常，交给别人处理，然别人处理。\n",
    "\n",
    "throw 就是自己处理一个异常，有两种方式要么是自己捕获异常 `try...catch` 代码块，要么是抛出一个异常（throws 异常）。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Java",
   "language": "java",
   "name": "java"
  },
  "language_info": {
   "codemirror_mode": "java",
   "file_extension": ".jshell",
   "mimetype": "text/x-java-source",
   "name": "Java",
   "pygments_lexer": "java",
   "version": "11.0.8+10-post-Ubuntu-0ubuntu120.04"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
